<!--

    Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.
    Portions Copyright &#169; [2017-2020] Payara Foundation and/or affiliates.

    This program and the accompanying materials are made available under the
    terms of the Eclipse Public License v. 2.0, which is available at
    http://www.eclipse.org/legal/epl-2.0.

    This Source Code may also be made available under the following Secondary
    Licenses when the conditions for such availability set forth in the
    Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
    version 2 with the GNU Classpath Exception, which is available at
    https://www.gnu.org/software/classpath/license.html.

    SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0

-->

<p><a id="task-managedexecutorservicecreate" name="task-managedexecutorservicecreate"></a><a id="GHCON109" name="GHCON109"></a></p>

<h4>To Create a Managed Executor Service<a id="sthref8" name="sthref8"></a></h4>
<a name="BEGIN" id="BEGIN"></a>
<p>A managed executor service is used by applications to execute submitted tasks asynchronously. Tasks are executed on threads that are started and managed by the container. The context of the container is propagated to the thread executing the task.</p>
<p>In Payara Server, you configure a managed executor service resource and make it available for use by application components such as servlets and EJBs.</p>
<ol>
<li>
<p>In the navigation tree, expand the Resources node.</p>
</li>
<li>
<p>Under the Resources node, expand the Concurrent Resources node.</p>
</li>
<li>
<p>Under the Concurrent Resources node, select Managed Executor Services.</p>
<p>The Managed Executor Services page opens.</p>
</li>
<li>
<p>On the Managed Executor Services page, click New.</p>
<p>The New Managed Executor Service page opens.</p>
</li>
<li>
<p>In the JNDI Name field, type a unique name that identifies the resource.</p>
<p>The JNDI name is registered in the JNDI naming service and used by applications to look up the resource. Use the <code>concurrent/</code><i>name</i> format. For example, <code>concurrent/myManagedExecutorService</code>. The name can contain only alphanumeric, underscore, dash, or dot characters.</p>
</li>
<li>
<p>Select the Context Information Enabled checkbox to propagate contexts to threads, and select the contexts that you want to propagate.</p>
<p>This option is enabled and all contexts are selected by default. Use Shift-click or Control-click to choose multiple contexts. If this option is disabled, contexts are not propagated, even if they are selected.</p>
</li>
<li>
<p>Select the Status Enabled checkbox to enable the resource.</p>
<p>This option is enabled by default, which means that the resource is available as soon as it is created.</p>
</li>
<li>
<p>In the Thread Priority field, type the priority to assign to created threads.</p>
<p>The default value is 5.</p>
</li>
<li>
<p>Select the Long-Running Tasks Enabled checkbox to use the resource to run long-running tasks.</p>
<p>If enabled, long-running tasks are not reported as stuck. This option is disabled by default.</p>
</li>
<li>
<p>In the Hung After field, type the number of seconds tasks can execute before they are considered unresponsive.</p>
<p>The default value is 0, which means that tasks are never considered unresponsive.</p>
</li>
<li>
<p>In the Description field, type a short description of the resource.</p>
<p>This description is a string value and can include a maximum of 250 characters.</p>
</li>
<li>
<p>In the Core Size field, type the number of threads to keep in a thread pool, even if they are idle.</p>
<p>When a new task is submitted and the number of running threads is less than core size, a new thread is created to handle the request. The default value is 0, which means that new threads are never created unless the task queue is full or the resource is using direct queuing. Direct queuing occurs when task queue capacity is 0, or when task queue capacity is 2147483647 and core size is 0.</p>
</li>
<li>
<p>In the Maximum Pool Size field, type the maximum number of threads a thread pool can contain.</p>
<p>The default value is 2147483647, which means that the thread pool is essentially unbounded and can contain any number of threads.</p>
</li>
<li>
<p>In the Keep Alive field, type the number of seconds threads can remain idle when the number of threads is greater than core size.</p>
<p>The default value is 60.</p>
</li>
<li>
<p>In the Thread Lifetime field, type the number of seconds threads can remain in a thread pool before being purged, regardless of whether the number of threads is greater than core size or whether the threads are idle.</p>
<p>The default value is 0, which means that threads are never purged.</p>
</li>
<li>
<p>In the Task Queue Capacity field, type the number of submitted tasks that can be stored in the task queue awaiting execution.</p>
<p>The default value is 2147483647, which means that the task queue is essentially unbounded and can store any number of submitted tasks.</p>
</li>
<li>
<p>In the Additional Properties section, do not add any additional properties.</p>
<p>Payara Server does not define any additional properties for this resource type. Moreover, this resource type does not currently use any additional properties.</p>
</li>
<li>
<p>In the Targets section, specify the selected targets for the resource.</p>
<p>Targets are displayed only if clusters and standalone instances have been created in the domain, in addition to the default server instance, <code>server</code>.</p>
</li>
<li>
<p>Click OK.</p>
</li>
</ol>
<a id="GHCON110" name="GHCON110"></a>
<h5>See Also</h5>
<ul>
<li>
<p><a href="task-managedexecutorserviceedit.html">To Edit a Managed Executor Service</a></p>
</li>
<li>
<p><a href="task-managedexecutorservicedelete.html">To Delete a Managed Executor Service</a></p>
</li>
</ul>


<small>Copyright &#169; 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
<small>Portions Copyright &#169; [2017-2020] Payara Foundation and/or affiliates.</small>
